#!/bin/sh

#功能 docker 安装常用服务
# 1 supervisor 服务进程管理
# 2 ssh shell脚本服务
# 3 vim 文本工具
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
LANG=en_US.UTF-8

# web service image install 
echo "web service image install"
#生成容器内运行脚本
cat > install.sh << EOF
#!/bin/sh

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
LANG=en_US.UTF-8
echo "更新服务"
yum -y update
#安装 supervisor 进程管理服务
yum -y install epel-release
yum -y install supervisor


#安装ssh服务
yum -y install passwd
yum -y install openssl
yum -y install openssh-server
yum -y install vim


#配置ssh服务
ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''

sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config


sed -i "s/UsePAM.*/UsePAM yes/g" /etc/ssh/sshd_config

#修改root密码
echo "1813033378" | passwd --stdin root

mv -vf web.ini /etc/supervisord.d/web.ini


EOF

#生成容器内服务启动
cat > web.ini << EOF
[supervisord]
nodaemon=true
; ssh 服务
[program:ssh]
command=/usr/sbin/sshd -D


EOF


#配置服务启动 /etc/supervisord.d/web.ini


cat > Dockerfile << EOF
#导入镜像
FROM centos:centos7


#复制工程脚本到镜像去
COPY web.ini install.sh /
#添加脚本权限
RUN chmod 777 /install.sh && /install.sh

LABEL u="root 1813033378"

#运行程序 supervisord -c /etc/supervisord.conf
 # 定参
ENTRYPOINT ["supervisord", "-c"]
 # 变参
CMD ["/etc/supervisord.conf"] 


EOF
sync
#构建镜像
docker build -f $(pwd)/Dockerfile -t  hq/centos7-x86-x64-ssh $(pwd)/
#启动容器
docker run --name ssh -d -v /mnt/:/mnt -p 1935:1935 -p 222:22 hq/centos7-x86-x64-ssh 

rm -vf Dockerfile install.sh web.ini
docker ps -a
docker images


